package gaml.core;

/**
 * serialization-deserialization settings
 * @author shnireck
 *
 */
public class GamlConfig {
	public class PrinterSettings {
		String identationString;
		String lineBreak;
		
		public PrinterSettings (String identationString, String lineBreak) {
			this.identationString = identationString;
			this.lineBreak = lineBreak;
		}
		
		public String getIdentationString () { return identationString; }
		public PrinterSettings setIdentationString (String identationString) { this.identationString = identationString; return this; }
		
		public String getLineBreak () { return lineBreak; }
		public PrinterSettings setLineBreak (String lineBreak) { this.lineBreak = lineBreak; return this; }
	}
	
	PrinterSettings printerSettings;
	
	public static GamlConfig getDefault () {
		GamlConfig dc = new GamlConfig ();
		dc.printerSettings = dc.new PrinterSettings ("\t", "\n");
		
		return dc;
	}	
	
	/**
	 * this setttings used to print yaml nodes to text
	 * @return yaml node print settings
	 */
	public PrinterSettings getPrinterSettings () { return printerSettings; }	
}